package com.lm.druid.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.alibaba.druid.pool.DruidDataSource;

import javax.sql.DataSource;
//可以从application.yml配置或者通过bean反射初始化链接
//@Configuration
public class DataSourceConfig {

    @Bean
    public DataSource dataSource() {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setUrl("jdbc:mysql://114.55.245.181:3306/shop_admin?useSSL=false&serverTimezone=UTC");
        dataSource.setUsername("shop");
        dataSource.setPassword("shop123");
        dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");

        // Druid 特有配置
        dataSource.setInitialSize(5);      // 初始化连接数
        dataSource.setMaxActive(20);       // 最大连接数
        dataSource.setMinIdle(5);          // 最小空闲连接数
        dataSource.setMaxWait(60000);      // 最大等待时间
        dataSource.setValidationQuery("SELECT 1"); // 验证 SQL
        dataSource.setTestOnBorrow(false);
        dataSource.setTestOnReturn(false);
        dataSource.setTestWhileIdle(true);
        return dataSource;
    }
}

